import java.io.File;
import java.io.IOException;

//统计任意一个文件夹中（包含子文件夹），每种文件的个数并打印
//打印格式如下：
//Txt:50个
//Doc:20个
//Java:50个
//Class:50个
//Png:10个
//.....

public class Java003 {
    static int txtNum=0,docNum=0,JavaNum=0,others=0;
    public static void main(String[] args) throws IOException {
        File f1 = new File("aaa");
        CREATE();//创建txt30个，doc47个，java53个,others24个
        findnum(f1);
        System.out.println("txtNum:"+txtNum);
        System.out.println("docNum:"+docNum);
        System.out.println("JavaNum:"+JavaNum);
        System.out.println("others:"+others);
    }
    public static void CREATE() throws IOException {
        File f2 = new File("aaa\\bbb");
        File f3 = new File("aaa\\bbb\\ccc");
        File f4 = new File("aaa\\ddd");
        f3.mkdirs();
        f4.mkdirs();


        for(int i=0;i<12;i++){
            new File("aaa\\"+i+".txt").createNewFile();
            new File("aaa\\"+i+".doc").createNewFile();
            new File("aaa\\"+i+".class").createNewFile();
            new File("aaa\\"+i+".py").createNewFile();
        }//a中
        for(int i=0;i<20;i++){
            new File("aaa\\bbb"+i+".doc").createNewFile();
            new File("aaa\\bbb"+i+".java").createNewFile();
        }//b中
        for(int i=0;i<15;i++){
            new File("aaa\\bbb\\ccc"+i+".doc").createNewFile();
            new File("aaa\\bbb\\ccc"+i+".java").createNewFile();
        }//c中
        for(int i=0;i<18;i++){
            new File("aaa\\ddd"+i+".txt").createNewFile();
            new File("aaa\\ddd"+i+".java").createNewFile();
        }//d中


    }

    public static void findnum(File f1){
        File[] files=f1.listFiles();
        for(File f:files){
            if(f.isFile()){
                if(f.getName().endsWith(".txt")){
                    txtNum++;
                }else if(f.getName().endsWith(".doc")){
                    docNum++;
                }else if(f.getName().endsWith(".java")){
                    JavaNum++;
                }else {
                    others++;
                }
            }else {
                findnum(f);
            }

        }
    }
}
